Simple Generational Garbage Collection and Fast Allocation
نویسنده
چکیده
Generational garbage collection algorithms achieve efficiency because newer records point to older records; the only way an older record can point to a newer record is by a store operation to a previously-created record, and such operations are rare in many languages. A garbage collector that concentrates just on recently allocated records can take advantage of this fact. Such a garbage collector can be so efficient that the allocation of records costs more than their disposal. A scheme for quick record allocation attacks this bottleneck. Many garbage-collected environments don’t know when to ask the operating system for more memory. A robust heuristic solves this problem. This paper presents a simple, efficient, low-overhead version of generational garbage collection with fast allocation, suitable for implementation in a Unix environment.
منابع مشابه
Generational Garbage Collection without Temporary Space Leaks for Lazy Functional Languages
Generational garbage collection is an established method for creating eecient garbage collectors. Even a simple implementation where all nodes that survive one garbage collection are tenured, i.e., moved to an old generation , works well in strict languages. In lazy languages, however, such an implementation can create severe temporary space leaks. The temporary space leaks appear in programs t...
متن کاملGenerational Garbage Collection for Lazy Functional Languages without Temporary Space Leaks
Generational garbage collection is an established method for creating eecient garbage collectors. Even a simple implementation where all nodes that survive one garbage collection are tenured, i.e., moved to an old generation, works well in strict languages. In a lazy language, however, such an implementation can create severe temporary space leaks. The temporary space leaks appear in programs t...
متن کاملGenerational Real-Time Garbage Collection A Three-Part Invention for Young Objects
While real-time garbage collection is now available in production virtual machines, the lack of generational capability means applications with high allocation rates are subject to reduced throughput and high space overheads. Since frequent allocation is often correlated with a high-level, objectoriented style of programming, this can force builders of real-time systems to compromise on softwar...
متن کاملImproving the Performance of Conservative Generational Garbage Collection ; CU-CS-784-95
As object oriented features are added to programming languages such as C demands upon dynamic memory allocation systems increase Prototyping languages such as Smalltalk and LISP have long rec ognized the impact of garbage collection on improving reliability and programmer productivity but providing garbage collection in C is hard because pointers are di cult to reliably identify Conser vative g...
متن کاملImproving the Performance of Conservative Generational Garbage Collection
As object oriented features are added to programming languages such as C demands upon dynamic memory allocation systems increase Prototyping languages such as Smalltalk and LISP have long rec ognized the impact of garbage collection on improving reliability and programmer productivity but providing garbage collection in C is hard because pointers are di cult to reliably identify Conser vative g...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 19 شماره
صفحات -
تاریخ انتشار 1989